package cn.tedu.oopextends;
/*本类用于简单理解继承的概念*/
public class TestExtends {
    public static void main(String[] args) {
        RobotCat robotCat=new RobotCat("Name");
        Cat cat=new Cat();
        cat.eat();
        robotCat.eat();
    }
}
/*1.子类与父类，通过extends关键字建立继承关系*/
/*2.java只支持单继承，一个子类只能有一个父类，但是一个父类可以有多个子类*/
/*3.子类继承父类以后，相当于把父类的功能复制了一份*/
/*4.继承具有传递性，爷爷的功能会给到爸爸，爸爸的功能会给到孙子*/
/*5.父类的私有资源子类不可用，不可用的原因是不可见
* 因为私有方法被private修饰，访问受限，看不见，那自然就摸不着*/
//1.创建Animal类--爷爷
class Animal{
    String name;
    public Animal(){
        System.out.println("I am an animal");
    }
    //4.创建一个爷爷类的普通方法
    public void eat(){
        System.out.println("小动物吃啥都行");
    }
    private void play(){
        System.out.println("Playing");
    }
}
//1.创建Cat类--父亲
class Cat extends Animal{
    String name;
    public Cat(){
        System.out.println("I am a cat");
    }
}
//1.创建RobotCat类--孙子

class RobotCat extends Cat{
    String name;
    public RobotCat(){
        System.out.println("my name is "+name);
    }

    public RobotCat(String name) {
        this();
        this.name = name;
        System.out.println("name = " + name);
    }

}
